[#100] Add GlobalSyncStrategy test coverage through Configurator#239
Merged
[#100] Add GlobalSyncStrategy test coverage through Configurator#239
Conversation
- Extract MockClaudeCLI and MockTechPack into shared TestHelpers.swift - Add GlobalConfiguratorTests.swift with 30 tests across 10 suites covering MCP scope override, settings preservation, file installation, convergence flows, unconfigure, dry-run, excluded components, and state tracking - Add TrackingMockTechPack for verifying configureProject is not called
- Extract shared makeGlobalTmpDir() and makeGlobalConfigurator() into TestHelpers.swift, removing 9 duplicated copies - Replace stringly-typed "user" scope with Constants.MCPScope.user - Strengthen corrupt JSON test to assert MCSError.fileOperationFailed specifically
923ff22 to
536a43d
Compare
- Require running swiftformat and swiftlint on changed files before committing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the test gap reported in #100:
GlobalSyncStrategyhad zero test coverage through the unifiedConfigurator. Adds 30 new tests exercising all global-scope-specific behaviors.Changes
MockClaudeCLIandMockTechPackfromProjectConfiguratorTests.swiftinto sharedTestHelpers.swift(private → internal)TrackingMockTechPack(class-based) to verifyconfigureProjectis NOT called in global scopeGlobalConfiguratorTests.swiftwith 10 test suites covering:"user"regardless of pack declaration (4 tests)~/.claude/, relative path recording, stale removal (4 tests)configureProjecthooks not called (1 test)global-state.jsonlocation,__global__sentinel (2 tests)Test plan
swift testpasses locally (686 tests, 0 failures)swiftformat --lint .andswiftlintpass without violations